﻿using System;
using System.Collections.Generic;
using System.Linq.Expressions;

namespace Loki.Model
{
    public class ContainerConfiguration<TEntityClass, TEntityKey>
    {
        public UniqueKeyConfiguration<TEntityClass, TEntityKey> PrimaryKey
        {
            get;
            set;
        }

        public IEnumerable<IIndexConfiguration<TEntityClass>> Indexes
        {
            get;
            set;
        }

        public Expression<Func<IEnumerable<TEntityClass>>> FullLoader
        {
            get;
            set;
        }

        public Action<TEntityKey> PostUpdate
        {
            get;
            set;
        }

        public Action<TEntityKey> PreUpdate
        {
            get;
            set;
        }
    }
}